perm filename MSS.MAN[MAN,LCS]16 blob sn#147660 filedate 1975-02-22 generic text, type T, neo UTF8
00100	********  DISPLAYS MUSIC AND DRAWS IT ON THE PLOTTER *******
00200	
00300	TO RUN: SEE LAST PAGE FOR 'RPG' FILES.
00400			(FOR THE PROGRAM TO RUN IT MUST PICK UP SOME SPECIAL
00500			DATA IN MSS,LCS.)
00600	
00700	 <<<<<< SOME GENERAL ADVICE:  'SAVE' THE WORK OFTEN.(SEE PG.4)
00800	
00900		PUT IN ALL NOTES, CLEFS, BEAMS, ETC.(ALL THE THINGS PUT IN
01000		WITH 'SCORE' INPUT) FIRST.  THEN DO ALL 'JUSTIFYING'(PG.5)
01100		OF LINES, IF NEEDED, BEFORE ADDING OTHER WORDS, NUMBERS,
01200		ETC. (THE PROGRAM WILL RUN FASTER AND YOU WILL HAVE THE
01300		FINAL POSITIONS OF THE NOTES DISPLAYED.)
01400	
01500		SEE SECTION ON 'SCORE' INPUT (PG.6)  FOR FIRST STEPS IN INPUT.
01600	
01700	HORIZANTAL SPACING IS ON A SCALE OF 0 TO 200.(SEE END OF PG.2)
01800	
01900	VERTICAL SPACING IS BY NOTE LEVEL NUMBERS.  THE POSITION OF MIDDLE  C
02000	IN  THE  TREBLE  CLEF IS TAKEN AS 1. D=2, G=5, C ABOVE=8, G ABOVE=12,
02100	ETC.  THE B BELOW MIDDLE  C  =0,  A=-1,  G=-2,  ETC.   THUS  VERTICAL
02200	POSITIONS  UP  FROM  MIDDLE C MAY BE THOUGHT OF AS THE NUMBERS OF THE
02300	DIATONIC INTERVALS FROM C. (HOWEVER THIS DOES NOT FOLLOW  WHEN  GOING
02400	DOWN FROM MIDDLE C.)
02500	
     

00100	******* KEY TO THE PARAMETER NUMBERS *******
00200	
00300	P1=CODE NUMBER, P2=STAFF NUMBER,
00400	   P3=HORIZANTAL POSITION, P4=VERTICAL POSITION BY NOTE NUMBER,
00500	       P5=OFTEN 2ND VERTICAL POS., P6=OFTEN 2ND HORIZANTAL POS.
00600	
00700		THE FOLLOWING CODE NUMBERS ARE USED MAINLY FOR EDITING.
00800	
00900	--------  SECTION I  ---------
01000	
01100	1 NOTES: 1, STAFF, POS, NOTE NUM(VERT. POS.),  
01200		(P5) STEM DIR & ACCI,
01300		(P6) FILLED IN? (≥0), DECIS REFER TO ACCENTS, ETC.
01400		(P7)NUM OF TAILS(0,1=8TH,4=64TH, ETC.)
01500				(IF 2 DIGITS, LFT IS NUM OF DOTS.)
01600		(P8)STEM EXT. BY NT NUM,
01700		(P9)=-1 TO SUPPRESS LEDGER LINES.
01800	        	 (P9 ALSO STORES RHYTHMIC VALUE FOR SPACING.)
01900		(P10)=1 PUTS SLASH ON GRACE-NOTE TAIL (1000 IN P8=SAME)
02000	        (P11)=CHANGE SOURCE POS. OF STEM. (USE WITH P4=400+)
02100	
02200	    P4 100S GIVE MINIS, 200S GIVE DIAMOND SHAPE (HARMONICS)
02300		300S GIVE 'X' NOTES (FOR PERCUSSION, ETC.), 400S=NO NOTE HEAD.
02400	
02500	    FOR P5: <10= NO STEM, 10-13=STEM UP, 20-23= STEM DOWN
02600		1,11 OR 21=FLAT; 2,12,22=#; 3,13,23=NATURAL; 4=DBL b; 5=DBL #
02700	
02800	    FOR P6: POS NUM OR 0 = BLACK NOTE, ANY NEG NUM = WHITE NOTE.
02900	    FOR P6: 10,-10 'HOMES' TO RIGHT OF UPWARD STEM.
03000		     20,-20 'HOMES' TO LEFT OF DOWNWARD STEM.
03100	 	30,-30(FOR 0,-1) PUTS DOTS IN PROPER PLACE IN COMPLEX CHORDS.
03200	
03300	      IF P7 HAS 2 DIGITS THE NOTE IS DOTTED; 2ND DIG. IS NUM OF TAILS.
03400			IF 2ND DIGIT IS 1 AND P6 IS NEG. A WHOLE NOTE PRINTS.
03500		DECIMALS AFTER P5 OR P7 SPACE OUT ACCIDENTAL OR DOT.
03600			.01 IN P7 PUTS SLASH THROUGH TAIL (SAME AS P10).
03700		DECIMALS AFTER P6 ARE ACCENT NUMS (.4-.7,.9 ETC. SEE CODE #6)
03800				UP TO 2 ACCENTS CAN BE PUT IN THIS WAY.
03900	
04000	
04100	2 RESTS: 2,STF,POS,HGT,REST(-2=WHOLE, 0=1/4, 1=1/8,ETC),P6) 1=DOTTED
04200	
04300	3 CLEFS AND OTHER THINGS:  
04400		  3, STAFF, POS, P4=HGT CHANGE(TO MAKE SOP. ETC.),P5=CLEF NUM
04500		(CLEF NUMS ARE: TREB=0, BASS=1, ALTO=2, TENOR=3,
04600	     4=PF.STF BRKT. 10=b, 11=#, 12=NAT., 13=bb, 14=x,15=half,16=whole.
04700		 ADD 100 FOR MINICLEFS.)  (P6-P9 AS IN CODE 11.)
04800	
04900		OTHER THINGS: P5=40 = PPP,  41 = PP,  42 = P,  43 = MP,
05000			44 = MF,  45 = F,  46 = FF,  47 = FFF,
05100			20 = CRESC., 21 = DIM., 22 = SUBITO, 23 = MENO,
05200			24 = ACCEL., 30 = ED, 31=MORDANT
05300		 ---- MORE WILL BE ADDED! ---(FILES CLEF0,CLEF1,CLEF2 ARE FULL)
05400	
05500	4 LINES: 4, STF, POS, P4, P5, P6, P7, P8, P9, P10
05600		(P4) NUM OF STAVES UP FOR BAR LINE - IF ALL HIGHER 
05700			PARAMETERS = 0, OR HGT1 (i.e.VERT. POS1 IF LINE).
05800		   FOR HEAVY BAR LINES ADD 100*THICKNESS TO NUMBER IN P4
05900		   (BAR LINES DON'T AFFECT TOP AND BOT MAXI'S.)
06000		(P5) HGT2,   IF P5=50, A +N IN P7=CRESC., -=DECRESC.
06100				OR, IF P8.NE.0, BOX APPEARS OF SIZE
06200				P8=X (BY HORIZ. NUMS) AND P9=Y (BY NOTE NUMS).
06300		(P6) POS2, 	
06400		(P7) 1=DASHES    IF P5=50 +N IN P7=CRESC., -=DECRESC.
06500				 IF P6=P2, MAKES VERTICAL DASHED LINE.
06600		     -1 GIVES VERTICAL WAVEY LINE..P6 MUST=0 
06700		     P9=WIG.UNIT HGT.,  P8 CHANGES WIGGLE WIDTH, THIS AND NEXT
06800		     -2 GIVES HORIZ.WAVEY LINE(P5 GIVES HGT OF WAVE BY NT NUM)
06900				....P6=RIGHT END POINT OF WIGGLE.
07000			P10=ADDED WIDTH FOR BOTH WIGGLES. (1=1 MORE, ETC.)
07100		(P8) NON-ZERO GIVES HORIZ. BOX SIZE, IF P5=50
07200			IF VERT. DASHES, P8 SETS SIZE.(ALSO AFFECTS WIGGLES.)
07300		(P9) GIVES VERT. BOX SIZE, IF P5=50
07400			AFFECTS VERTICAL WIGGLES ALSO.
07500		(P10)=THICKNESS IF STRAIGHT VERTICAL LINE(NOT BAR LINE.)
07600					    =1 = BDI40 (ITALICS)
07700	
07800	
07900	5 SLURS: 5, STAFF, POS1, NT1, NT2, POS2, P7=DIP(NT UNITS + OR -), P8, P9
08000		FOR P8 0=SLUR, 1=BRACKET, 2=LFT 1/2 BRKT, 3=RT 1/2 BRKT,
08100		FOR AUTOMATIC ALIGNMENT OF SLUR WITH NOTES, SET P13=1, THEN
08200		IF P8=-1, END POINTS WILL HOME TO NOTE CENTERS.
08300		IF P8=-2, END POINTS WILL HOME BETWEEN NOTES.
08400		USE P8=-3 TO HOME BETWEEN NOTES WHERE 1ST IS DOTTED.
08500		P9=CURVE FACTOR.  DEFAULT VALUE (0)=3  GIVES SLIGHTLY "FLATTENED"
08600		  SLURS. TO MAKE THEM MORE ROUND, DECREASE P9 TOWARD 2. 
08700		  TO RESTRICT THE CURVE TO THE END PORTIONS, INCREASE P9.
08800	
08900	     IF P8=1 AND P9 IS NOT 0 A BRACKET WITH A NUMBER(P9) WILL BE DRAWN.
09000	
09100	
09200	6 BEAMS: 6, STF, POS1, NT1, NT2, POS2, 
09300			FOR "MINI" BEAMS ADD 100 TO P4 (-100 FOR NEG. NUMS.)
09400		 (P7)  STEM DIR(10=↑ 20=↓), 
09500	 	  --  2ND DIG. IN P7=TOTAL NUM OF BEAMS.
09600		     IF P7 IS NEGATIVE THEN TREMOLO SLASHES ARE MADE.
09700		 (P8)  10=LFT,  20=RT.
09800		       -10,-20=UNATTACHED PARTIAL BEAMS
09900			 A 2ND DIGIT=DISPLACEMENT NUMBER.
10000			-- IF P10 HAS 30+, P8 WILL HAVE POS3 AND
10100			-- P9 WILL HAVE POS4.
10200		 (P9)  POS3. (OR POS4 IF P10>30.)
10300		 (P10) = NUM OF BEAMS DISPLACED (NO MORE THAN 9.)
10400		  ADD 10 FOR INNER SHORT PARTIAL →
10500		  ADD 20 FOR INNER SHORT PARTIAL ←
10600		  ADD 30 FOR INNER PARTIAL BETWEEN TWO STEMS.
10700		      P11 CAN RESET HOMING RANGE (OR -1 = NONE.)
10800	
10900	
11000	7 TRILLS:  7, STF, POS1, NOTE NUM, 0, POS2, P7
11100			IF P7=1, NO WAVEY LINE APPEARS.
11200	
11300	
11400	
11500	8 FOR STAFF LINES: 8,  HGT(STAFF NUM. 3 TO -3), POS1, VERT. SHIFT,
11600		P5) SIZE FACTOR,  P6) POS2.
11700		P7) IF SET TO NON-ZERO THE STAFF WILL BE INVISIBLE.
11800		   (USE THIS AS A MEANS TO SET SIZE AND POSITION OF
11900		    NOT APPEARING ON A STAFF.)
12000		P8) USED TO SET MOVE-UP DISTANCE(INCHES) TO NEXT FILE'S
12100		    STAFF 0. (USE P8 ONLY! WITH STAFF 0.)
12200	        P9=1 WILL ASK FOR ID NAME FOR THIS STAFF(TO BE USED IN 'PARTS')
12300	
12400		8, 0, STF NUM,  WILL GIVE FULL LENGTH STAFF
12500	
12600	
12700	9 ACCIDS, ACCENTS, ETC.: 9, STF, POS, NOTE NUM, P5, P6=SIZE (0=1)
12800		FOR P5: b=1, #=2, NAT=3, WEDGE ACCENT ∧=4(-4=INV), ACCENT >=5,
12900		FERMATA=6 or 26(-6=INV), STAC. OR DOT=7, REPEAT BAR SIGN=8,
13000			TENUTO OR DASH=9, DNBOW=11, UPBOW=12, HARM,=13, +=14,
13100			THESIS=15, ARSIS=16, MORDANT=17, INV.MORD.=18, TRILL=20
13200	   ***** 2 ITEMS MAY BE ENTERED AT ONCE WITH P5. e.g. 47 WILL CREATE
13300		A WEDGE(4) WITH A DOT(7) BELOW IT; 79 MAKES A DOT(7) WITH A
13400		DASH(9) BELOW IT. IF ANY OF THE 2-DIGIT CODES ARE USED, THEY
13500		MUST! COME FIRST.   e.g. 135  MAKES  A  HARMONIC(13) WITH AN
13600		ACCENT(5) BELOW.  ETC.	(513 WILL NOT WORK!)
13700	
13800	
13900	10 NUMBERS: 10, STF, POS, NT NUM, NUM(TO 2 DIGITS ONLY), SIZE FACT., P7
14000		P7=2 GIVES THIN LINE NUMS., =0 = BDR40 TYPE FONT WHEN IT PLOTS.
14100	
14200		 SET P13 TO 1 FOR AUTOMATIC HOMING.
14300		 (SEE HOMING INFO IN EDIT SECTION.)
14400	
14500	
14600	11 LIBRARY ITEMS: 11, STAFF, POS,  VERT. NOTE NUM, P5)ITEM NUM, 
14700		   P6)HORZ. SZ., P7)VERT. SZ.,   P8,  P9,  P10
14800			P8=-1 FOR FILL ON CRT, =-2 FOR NO FILL ANYWHERE.
14900	
15000		P5 MAY HAVE NUMBERS 0 THROUGH 99.  NUMBERS 0-9 REFER TO
15100		THE "BASIC" DRAW FILE.  (SEE 'DRAW.MAN' FOR PREPERATION
15200		OF 'DRAW' FILES.)  THE "BASIC" FILE SHOULD HAVE A NAME
15300		WITH 4 LETTERS AND THE NUMBER 0 ON THE END.  IF THE "BASIC"
15400		NAME IS 'CHAR0' THEN NUMBERS 10 THROUGH 19 WOULD REFER
15500		TO 'CHAR1'; 20-29 TO 'CHAR2', 30-39 TO 'CHAR3', ETC.
15600	
15700		P9 = CLOCKWISE ROTATION BY DEGREES.
15800		
15900		IF P10 IS SET TO 1 A "BASIC" FILE NAME WILL BE REQUESTED.
16000		THE NAME WILL BE STORED IN P10. ANY TIME P10 IS SET TO 1
16100		THE NAME WILL BE RE-REQUESTED.  ANY TIME P10 IS IGNORED THE
16200		LAST NAME GIVEN WILL BE PUT INTO P10.
16300		THUS SEVERAL ITEMS CAN USE DIFFERENT "BASIC" NAMES.
16400	
16500	
16600	12 CIRCLES AND ARCS: 12, STF, POS,  VERT. NT NUM, 	
16700			P5=RADIUS(BY HORIZ. SCALE NUMS)
16800			P6=DEGR.1, P7=DEGR.2; ZEROS GIVE COMPLETE CIRCLE.
16900			P8=THICKNESS(0=1 LINE, 1=2 LINES, ETC.)
17000	
17100	
17200	14  "SCORE" INPUT: 14, STAFF    -- SEE LATER SECTION.
17300	
17400	
17500	16 LETTERS, WORDS, ETC.:
17600	   16, STAFF, POS, VERT. NOTE NUM, P5)=SIZE FACTOR, P6
17700		----- THEN TYPE TEXT ----- 
17800	     ---- SEE SECTION II FOR DETAILS -----
17900	
18000	
18100	18 METER:  18, STF, POS, VERT, P5)TOP NUM, P6)BOTT NUM, P7)SIZE FACTOR
18200	
18300	
18400	17 KEY SIG.: 17,STF,POS,VERT, P5)NUM OF #S OR FLATS(+=#, -=b),CLEF NUM.
18500					(P6=0=TREB, =1=BASS, =2=ALTO, =3=TENOR)
18600				FOR MINI CLEFS ADD 100 TO P6.
18700	
18800	
18900	19 ADJUST STEMS TO MEET BEAMS: 19, STAFF NUM (99=ALL STAVES)
19000				  (ALSO REMOVES TAILS WHERE NEEDED)
19100	
19200	19 N1 N2 ------ IF 2 NUMBERS FOLLOW 19 THE 1ST  SHOULD  BE  THE  ITEM
19300	NUMBER  OF  A  BEAM AND THE 2ND THE ITEM NUMBER OF A NOTE.  THIS WILL
19400	CAUSE THE BEAM TO HOME TO ANY NOTE ON A DIFFERENT STAFF.
19500		BEFORE  USING THIS, CERTAIN REQUIREMENTS MUST BE MET.  P2 AND
19600	P6 SHOULD BOTH BE SET TO THE HORIZANTAL POSITION OF THE ORIGIN OF THE
19700	BEAM  (I.E.  USUALLY  P2).   P4  AND  P5  SHOULD  BE SET THE VERTICAL
19800	POSITION OF THE ORIGIN (USUALLY P4).  P7  SHOULD  INDICATE  THE  STEM
19900	DIRECTION  OF  THE NOTE AT THE ORIGIN POINT.  P11 IS BEST SET TO 1 TO
20000	INHIBIT  OTHER  HOMING  FEATURES.  IF  THE  BEAM  IS  COMPOSITE, THIS
20100	PROCEDURE MUST BE FOLLOWED FOR EACH BEAM ITEM INVOLVED.
20200		THE NOTE ON THE OTHER STAFF MAY HAVE A STEM OF ANY LENGTH AND
20300	IT MAY BE IN FRONT OF OR BEHIND THE ORIGIN POINT OF THE BEAM.  IT  IS
20400	PROBABLY  BEST TO USE THIS FEATURE ONLY AFTER! THE OTHER '19' FEATURE
20500	HAS BEEN USED.  CHECK STEM LENGTHS AND MEETING POINTS CAREFULLY AFTER
20600	USE.
20700	
20800	
20900	24 MAGNIFY AREA:  24,SIZE FACTOR, NEW CENTER X,Y
21000						(USE -512 TO 512 RANGE)
21100	  IF THE STAVES -1 THOUGH 2 ARE USED ONLY 2 NUMBERS NEED BE TYPED.
21200	24,N  WHERE N IS A NUMBER OF THE FOLLOWING FORM WILL INCREASE THE
21300	SIZE BY THE LEFT DIGIT OF N.    24 200  WILL MAGNIFY BY 2 AND PUT
21400	THE FAR LEFT SIDE TO THE CENTER OF THE SCREEN.  200.5 WILL KEEP THE	
21500	CENTER AS IS.  201 WILL PUT THE FAR RIGHT SIDE TO THE CENTER.
21600	300 WILL MAGNIFY BY 3, ETC.
21700	
21800	33 PARAMETER CONTENTS:  33  N.  TO SEE EXACT CURRENT CONTENTS
21900			OF PARAMETER NUM. N WHILE IN EDIT MODE.
22000	
22100	44 1  --- IF N=1 FROM THIS POINT ON ALL NUMBERS AND LETTERS USING THE
22200	          TYPE FONTS BDR AND BDI WILL APPEAR WITH THEIR REAL OUTLINES.  
22300	          THIS SHOULD BE USED ONLY FOR CHECKING ON CLOSE SPACING AS
22400	          THE PROGRAM IS SLOWED CONSIDERABLY DUE TO THE GREAT NUMBER
22500	          OF VECTORS TO BE DRAWN.  
22600	    44 -1 WILL CAUSE ALL LETTERS TO BE IN 'PRIM' FONT (UPPER AND LOWER
22700		  CASE) BOTH ON CRT AND ON PLOTTER.
22800	     44,0 WILL RETURN TO THE ORIGINAL DISPLAY MODE.  SEE 7 AND 16 IN
22900	            REGARD TO FONTS.
23000	
23100	101  SPACING SCALE: 101, STAFF NUM  (101,99 ERASES IT)
23200			(THE SCALE NEED NOT BE ERASED BEFORE SHIFTING IT
23300			 TO A NEW STAFF.)
23400	
23500	333 N1,N2,N3  PRINTS RN ARRAY FROM ITEM N1 TO ITEM N2. N3=1 FOR LPT.
23600		(USING LPT IS FATAL FOR CURRENT DPY AND MUST BE FOLLOWED BY
23700		<CALL>, F<CR> IN ORDER TO RELEASE THE LPT.)
23800		333 <CR> WILL TYPE DATA FOR ALL ITEMS.
     

00100	---------  SECTION II  --------------
00200	
00300	16 LETTERS, WORDS, ETC.:
00400	   16, STAFF, POS, P4=VERT. NOTE NUM, P5=SIZE FACTOR, P6
00500		----- THEN TYPE TEXT ----- 
00600	
00700	0-9, A-Z, and = . - , * ( ) " ; : + CAN BE USED.
00800	
00900	UP TO 12 CHARACTERS WILL BE PACKED IN AN ITEM.
01000	STRINGS OF MORE THAN 12 CHARACTERS WILL BECOME SEVERAL ITEMS FOR
01100	EDITING PURPOSES.  
01200	TO PLACE ITEMS IN RELATION TO ALREADY PRESENT NOTES, SET P6≠0.  
01300	SEPARATE EACH ITEM BY SLASHES.
01400	THE SLASHES WILL NOT BE DRAWN.(BUT A LINE ENDED WITH * WILL PRINT *.)
01500	
01600	WHEN  P6≠0,  NUMBERS WILL APPEAR OVER THE NOTES OF THAT STAFF AND YOU
01700	WILL BE ASKED TO TYPE POSITION NUMBERS FOR EACH ITEM.    IF  P4  (THE
01800	VERTICAL  POSITION)  IS  SET  TO 0 YOU SHOULD TYPE 2 NUMBERS FOR EACH
01900	ITEM.  SEPARATE THE PAIRS OF NUMBERS BY SLASHES.  THE FIRST NUMBER OF
02000	A  PAIR  WILL  BE HORIZANTAL POS., THE SECOND WILL BE VERT. POS.  THE
02100	HORIZANTAL NUMBERS WILL BE IN TERMS OF THE NUMBERS  OVER  THE  NOTES.
02200	THUS  1.5,-3/  WOULD  PUT  ITEM 1 EXACTLY HALF WAY BETWEEN NOTE 1 AND
02300	NOTE 2 AND AT  THE  VERTICAL  POSITION  OF  NOTE  LEVEL  -3.     WITH
02400	1.5,-3/.7,13/  THE FIRST ITEM WOULD BE AS BEFORE AND THE SECOND WOULD
02500	BE AT .7 OF THE DISTANCE FROM THE BEGINNING OF THE LINE AND THE FIRST
02600	NOTE AND AT THE VERTICAL POSITION 13.
02700	
02800	IF  P4 IS ANY NON-ZERO NUMBER (AND P6≠0) ALL ITEMS WILL BE PUT AT THE
02900	LEVEL INDICATED IN P4.  IN  THIS  CASE  TYPE  ONLY  ONE  NUMBER  (FOR
03000	HORIZANTAL  POSITION) PER ITEM.  THIS IS PROBABLY THE BEST WAY TO PUT
03100	IN THE TEXT OF VOCAL LINES.
03200	
03300	CURRENTLY (5/74) THREE TYPE FONTS ARE AVAILABLE.  THE DEFAULT FONT IS
03400	CALLED  'PRIMITIVE'.   ALSO  THERE  IS  'BDR40' AND 'BDI40'(ITALICS).
03500	ALL THESE INCLUDE UPPER AND LOWER CASE.  ****** NOTE THAT IF THE TYPE
03600	FONTS  ARE  TO  BE  MIXED THE FIRST ENTRY MUST INCLUDE A FONT CONTROL
03700	CHARACTER EVEN IF IT IS THE DEFAULT FONT.
03800	
03900		FONT CONTROL CHARACTERS:
04000			# = PRIMITIVE  (52)
04100			$ = UPPER CASE (48)
04200			% = LOWER CASE (49)
04300			& = BDR40 (NON-ITALICS) (50)
04400			@ = BDI40 (ITALICS)  (51)
04500			< = OUTLINE ONLY  (53)
04600			> = FILLED   (54) (WILL NEVER FILL ON CRT HOWEVER.)
04700	
04800		WHEN INITIALLY USING THE FONTS THE UPPER-LOWER
04900		CASE CHARACTER MUST APPEAR AS WELL AS THE FONT CHARACTER.
05000		LATER FONT OR CASE CHANGES MAY APPEAR SINGLY.
05100	
05200	EXAMPLES:  TO GET THE FOLLOWING IN NON-ITALICS -
05300	
05400			Clarinet
05500	
05600	TYPE - $&C%LARINET/
05700	
05800		FOR THE NEXT WITH THE 2ND WORD ITALICS, THE 3RD PRIMITIVE-
05900	
06000	TYPE - $&O%BOE/@CRESC./$#V.S./
06100	
06200		$&<O%BOE/  WOULD PRINT "Oboe" in non-filled letters.
06300	
06400	MOST OF THESE COMMANDS ARE SEMI-STICKY.  TO BE SAFE THEY SHOULD BE
06500	RESET EACH TIME USED.
06600	
06700	WHEN LETTERS ARE EDITED THEY APPEAR UNDER CODE #16.  
06800	AT  EDIT  TIME  P13=1  WILL  CAUSE  HOMING  TO  A NEARBY NOTE.  NOW A
06900	NEGATIVE SIZE FACTOR (IN P5) WILL INVERT THE TEXT.  IF THE STAFF SIZE
07000	IS  LATER  CHANGED  THE  SPACING CONTINUITY OF STRINGS LONGER THAN 12
07100	LETTERS  WILL  BE  DISTURBED.   TO  CORRECT  THIS  SET  P10=1 FOR THE
07200	MISPLACED  UNIT  OF  TEXT.   IT  WILL  THEN  AUTOMATICALLY RESUME THE
07300	CORRECT POSITION AND RESET P10 TO 0.
     

00100	--------  SECTION III  -----------
00200	
00300	***********  LETTER COMMANDS  ***************
00400	
00500	'G' = GET OLD DATA TO WORK ON.
00600	
00700		IF YOU GET THE MESSAGE "UNPACK IT" USE THE MSSAUX PROGRAM.
00800	
00900	'GM' = GET MORE TO ADD TO CURRENT DISPLAY
01000	
01100	'RS' = RESTART.  CLEARS BUFFERS AND SCREEN - NO RECOVERY POSSIBLE!
01200	
01300	
01400	SAVE ALL: TYPE 'SAVE' OR 'SA'  ('SD' SAVES DISPLAY ONLY FOR DPY.F4)
01500	
01600		IF 'SAME' IS GIVEN AS A FILE NAME THE NAME WILL BE 
01700		SAME AS PREVIOUSLY.
01800	
01900	  'SB' = SAVE BIG.  SAVES ALL IMPORTANT BUFFERS. FOR QUICKER READIN.
02000	  'SM' = 'SB' WITH THE SAME NAME AS PREVIOUSLY.
02100	  'SF' = FIXUP AND SAVE - REPAIRS TANGLES IN PROGRAM INTERIOR.
02200	
02300	   TYPE '99' TO BACK UP FROM FILE NAME REQUEST.
02400	
02500	
02600	
02700	'PL'  PREPARES FILE TO PLOT MUSIC ON THE CALCOMP PLOTTER OR XGP.
02800	
02900	<<<<<<<<<< HOW TO RUN A PROOF ON THE 'XGP' >>>>>>>>>>>>>>>>
03000	
03100		THE PROGRAM 'MP.DMP[MSS,LCS]' WILL CREATE A FILE FOR THE
03200	XGP PROGRAM 'X5.DMP[MSS,LCS]' OR FOR THE CALCOMP.  GENERALLY USE SIZE
03300	FACTOR = 1 FOR XGP PRINTING.
03400	
03500	THE FIRST  PROMPT IN MP IS 'RESET BOTTOM?'  THE ANSWER SHOULD USUALLY
03600	BE 'Y' WHEN MP'S OUTPUT IS TO GO TO X5.  'P' WILL CAUSE ALL LETTERS 
03700	NUMBERS TO PRINT WITH THE 'PRIMITIVE' FONT.  'A' WILL RESET TO THE
03800	ORDINARY MODE IF A 'P' HAD BEEN GIVEN EARLIER.
03900		IF  THE  AUTOMATIC  'MOVE-UP'  FEATURE  INVOLVING  P8  OF THE
04000	PARAMETERS FOR STAFF 0 IS USED (SEE PG.2) AND MORE THAN ONE  SEPARATE
04100	FILE  IS TO BE CREATED FOR PRINTING ON THE CALCOMP, THE ANSWER TO THE
04200	FIRST PROMPT SHOULD BE 'N' FOR ALL RUNS AFTER THE LOWEST  PORTION  OF
04300	THE PAGE IS DONE.
04400	
04500		IF THE PAGE IS IN MORE THAN ONE SECTION ALWAYS START WITH THE
04600	BOTTOM  SECTION FIRST.  YOU WILL BE ASKED FOR FILE NAMES.  WHEN THERE
04700	ARE NO MORE TO BE GIVEN TYPE <CR>.  
04800	THE QUESTION, "MOVE UP AT END?" SHOULD BE ANSWERED BY Y, N OR WITH
04900	A NUMBER.  A NUMBER WILL INDICATE THE NUMBER OF INCHES TO MOVE FROM
05000	THE LEVEL OF STAFF 0 AT POSITION 0 TO STAFF 0, POSITION 0 IN THE 
05100	SUCCEEDING FILE.
05200	'Y' WILL PLACE THE SUCCEEDING FILE'S LOWEST POINT ABOUT 1/2" ABOVE
05300	THE HIGHEST POINT OF THE FIRST FILE.  'N' IS USED TO WRITE FILES
05400	EXACTLY ON TOP OF ONE ANOTHER.
05500	
05600		IF THE FILE NAMES FORM A SERIES OF 5 LETTER NAMES ENDING WITH
05700	CONSECUTIVE  LETTERS  OF  THE  ALPHABET,  YOU  MAY TYPE THE LAST NAME
05800	FOLLOWED BY THE TOTAL NUMBER OF FILES THAT ARE TO BE PRINTED ON  THAT
05900	SINGLE PAGE.  THE FILES WILL BE FOUND IN THE PROPER SEQUENCE.
06000	FOR EXAMPLE, 'TRC4D 4' WILL PRINT FILES TRC4D THROUGH TRC4A.
06100		IF A SECOND NUMBER IS TYPED, THE FILES WILL BE EVENLY SPACED
06200	BY THAT NUMBER OF INCHES BETWEEN THE BOTTOM OF EACH STAFF 0 -- AS
06300	DESCRIBED ABOVE.
06400	
06500	A SIZE FACTOR OF 1 CREATES THE CORRECT WIDTH FOR 8 1/2" PAPER.
06600	  TYPE A SECOND NUMBER(1) AFTER 'SIZE FACTOR' TO HEAVIER STAFF LINES AND
06700	  LEDGER LINES.  (SOMETIMES NECESSARY WITH XGP.)
06800	
06900	WHEN THE PROGRAM HAS EXITED A FILE CALLED PLT.DMD HAS BEEN WRITTEN ON
07000	THE DSK.  THE DATA MAY NOW BE PRODUCED ON THE PLOTTER (BY USING THE
07100	PLOT PROGRAM) OR ON THE XGP (BY USING THE XGP PROGRAM.)  (PLOT HAS
07200	NO PROMPTS AND XGP IS SELF-EXPLANATORY.)
07300	
07400	
07500	
07600	---- FOLLOWING ARE OLD PLOT COMMANDS ----
07700	'P' N1, N2, N3, N4, N5, N6 = PLOT DISPLAY
07800		 N1=WIDTH FAC., 
07900		 N2=HEIGHT FAC.
08000	         N3=1, PLOTS ONLY THIN LINES. N3=2, PLOTS ALL BUT THIN LINES.
08100		 N4=1  NO MOVE AT START 
08200		 N5=1  NO MOVE AT END.
08300		 N6= MOVE UP 'N' STAVES AT END.
     

00100	--------  SECTION IV  -----------
00200	
00300	******  VARIOUS WAYS TO GET INTO EDIT MODE  ********
00400	
00500	
00600	   TO MOVE LAST ITEM ENTERED LFT-RT OR UP-DOWN:
00700		'L', 'R', 'U' OR 'D' + NUM OF STEPS TO LFT-RT 
00800			(NOTHING ELSE REQUIRED)
00900	   THIS WORKS ONLY IMMEDIATELY AFTER THE ITEM HAS BEEN ENTERED.
01000	
01100	
01200	'ED(IT)', POS, STAFF, (CODE NUM) ----- TO USE LIGHT PEN: TYPE 'ED' <CR>
01300	
01400	A VERTICAL LINE WILL APPEAR AT  THE  POSITION  GIVEN  AND  ALL  ITEMS
01500	WITHIN  5  SPACES OF THE LINE ON THAT STAFF WILL COME UP FOR EDITING.
01600	TO PASS OVER AN ITEM TYPE <CR>.  SEE BELOW FOR METHOD OF CHANGING THE
01700	VARIOUS PARAMETERS.
01800	
01900	IF THE STAFF NUMBER IS GREATER THAN 4, ITEMS ON  ALL  STAVES  MAY  BE
02000	EDITED.
02100	
02200	IF A CODE NUMBER IS GIVEN, THE ITEM NEAREST THE LINE WITH THAT NUMBER
02300	WILL COME UP.  FOLLOWING, ALL OTHER ITEMS OF THAT NUMBER ON THAT LINE
02400	WILL COME UP.
02500	
02600		  WITH THE LIGHT PEN, MOVE CURSOR TO THE ITEM TO BE
02700		  EDITED.  TYPE <CR> AND ITEMS ON ALL STAVES NEAR THAT POINT
02800		  WILL COME UP FOR EDITING IN ORDER. (USES SAME MODE
02900		  AS ABOVE.)
03000	
03100	S(ET) AND A(LIGN) ---------
03200	
03300	IF YOU TYPE 'S' WHILE IN THE ABOVE  FORM  OF  EDIT  MODE  ('ED')  THE
03400	VERTICAL  LINE  WILL  JUMP  TO THE POSITION OF THE CURRENT ITEM UNDER
03500	CONSIDERATION. TYPE <CR> TO PROCEED TO OTHER ITEMS.   AT  THIS  POINT
03600	TYPING 'A' WILL  AUTOMATICALLY ALIGN THE CURRENT ITEM TO THE POSITION
03700	OF THE ITEM AT 'SET'.  TYPE 'X' TO EXIT FROM ANY EDIT MODE.
03800	
03900	'L'=LIGHT PEN --- THIS MAY BE USED IN ANY FORM OF EDIT MODE.  MOVE
04000			THE CURSOR TO THE LOCATION DESIRED FOR THE ITEM.
04100			<CR> WILL MOVE THE ITEM.  NOTE THAT HORIZANTAL
04200			MOVEMENT IS FREE BUT VERTICAL MOVEMENT IS BY STAFF
04300			NUMBERS.  ALL DETAILS OF VERTICAL MOVEMENT MUST BE
04400			TYPED IN.
04500	
04600	
04700	  'I' N = EDIT ITEM NUMBER N
04800			THIS MAY BE TYPED AT ANY TIME WHILE IN EDIT MODE.
04900			THE ITEM INDICATED WILL NEXT COME UP.
05000	  'ST' STAFF NUM, CODE NUM--EDITS ONLY ITEMS OF THAT CODE NUM ON
05100	           THAT STAFF.   IF CODE=0, THEN ALL ITEMS WILL COME UP.
05200	
05300	
05400	***********  HOW TO CHANGE PARAMETERS  ****************
05500	
05600	
05700	  IN EDIT MODE: 'L','R','U', OR 'D' FOLLOWED BY N, MOVES N SPACES TO
05800	    LEFT, RIGHT, UP OR DOWN.  2 DIRS. MAY BE GIVEN AT ONCE.
05900	
06000			****-- OR --****
06100	
06200	  PN1,N1  PN2,N2  PN3,N3  ETC. (TYPE PAIRS OF NUMS TO CHNG PARAMS)
06300			THE FIRST OF EACH PAIR MUST BE THE PARAMETER NUMBER
06400			AND THE SECOND WILL BE THE NEW VALUE FOR THAT PARAM.
06500	
06600			IF 2 ZEROS ARE ADDED AFTER A PARAMETER NUMBER (i.e.
06700			600 INSTEAD OF 6) THE SECOND NUMBER OF THE PAIR
06800			WILL BE ADDED TO THE CURRENT VALUE OF THAT PARAMETER
06900			INSTEAD OF MERELY REPLACING.  THIS IS USEFUL FOR 
07000			EXTENDING P6 OF SLURS OR BEAMS, ETC.
07100	
07200			 <CR> ENDS EDIT AND MOVES TO NEXT ITEM FOR EDIT
07300			 'X' ENDS EDIT, EXITS TO INPUT MODE
07400			 'C'SAVES OLD AND NEW FORMS, I.E. "COPIES" ITEM.
07500			 'C' N  SAVES & MOVES TO ITEM N.
07600			 'DEL'  DELETES ITEM AND MOVES ON TO NEXT
07700	
07800	HOMING	**** SET P13=1 TO HOME IN ON ANY NEARBY NOTE ON SAME STAFF.
07900			(P13 RESETS SELF TO 0)
08000	
08100	
08200	GROUP EDIT COMMANDS - - - - - - - 
08300	
08400	'MOVE' OR 'M' <CR>:  TO MOVE GROUPS OF ITEMS
08500	
08600	 YOU WILL BE ASKED TO TYPE: 
08700			STAFF NUM, POS1, POS2, (CODE NUM)
08800	
08900	    TO SHRINK OR EXPAND ALL STAVES GIVE STAFF NUM = 11.
09000	    IF NO CODE NUM(4TH NUM) IS GIVEN ALL ITEMS IN THE AREA WILL BE MOVED.
09100	
09200	     IF 'L' IS GIVEN AS STAFF NUM, THE AREA TO BE MOVED MUST
09300	     BE INDICATED WITH THE LIGHT PEN.
09400	
09500	    TO MOVE A CONTINUOUS GROUP OF ITEMS TYPE:
09600			88,  1ST ITEM NUM,  LAST ITEM NUM
09700	
09800	          ----- 'ASK' FEATURE ------
09900	        IF 100 IS ADDED TO THE CODE NUM, YOU WILL BE ASKED IF YOU
10000	   WANT TO MOVE EACH ITEM INDIVIDUALLY.  'X' WILL EXIT FROM 'MOVE'.
10100	
10200	     TYPE '99' AT ANY TIME TO BACKUP WHEN IN 'MOVE', 'COPY', ETC.
10300	
10400	
10500	THE SECOND PROMPT IS:
10600	   TYPE NEW STAFF #, POS1, POS2, UP-DOWN #
10700	
10800	     IF POS2=0, POS1 WILL BE TAKEN AS THE ABSOLUTE 'MOVE' VALUE.
10900	
11000	'COPY' OR 'C' <CR>:  TO COPY GROUPS OF ITEMS.
11100	
11200		WORKS SAME AS 'MOVE' BUT ORGINAL IS LEFT BEHIND.
11300	
11400	'DELETE' OR 'DE' <CR>:  TO DELETE GROUPS OF ITEMS.
11500	
11600		SAME STRUCTURE AS 'MOVE'.
11700	
11800	 *******  N,-99  WILL DELETE ALL LINES EXCEPT! LINE 'N'. 
11900		******** USE WITH GREAT CARE!! *********
12000	
12100	'ALTER' OR 'A' <CR>:  TO ALTER GROUPS OF ITEMS.
12200	
12300		FIRST PART IS SAME AS 'MOVE'.  AFTER THE AREA HAS BEEN
12400		DESIGNATED YOU WILL BE ASKED TO SPECIFY PARAMETER CHANGES
12500		WITH PAIRS OF NUMBERS -- Pn, Change, Pn, Change, etc.
12600	
12700		IF THE FIRST NUMBER GIVEN IS 12 AND YOU HAVE ALREADY
12800		SPECIFIED CODE NUM 1, ALL NOTE STEMS, BEAMS AND SLURS
12900		IN THE GIVEN AREA WILL BE INVERTED.
13000	
13100		WITH CODE 8 (SLURS), 12 WILL REVERSE THE CURVE AND PUT
13200		IT ON THE "WRONG" SIDE OF THE NOTE.
13300	
13400	'DP' N1, N2, . . . . .: COVERS OR UNCOVERS PARTS OF DISPLAY
13500		END WITH A 99 TO MAKE THE EFFECT IMMEDIATE.
13600	
13700	'J'  WILL AUTOMATICALLY JUSTIFY LINES, ALLOWING PROPER SPACES FOR
13800	       FOR MOST ACCIDENTALS, CLEFS, ETC.  A STAFF NUM >5 WILL JUSTIFY
13900	       ALL LINES AS A UNIT.  IF POS2 = 0, IT WILL BE TAKEN AS 200.
14000		****NOTE: WHILE YOU CAN START FROM ANY HORIZANTAL POSITION 
14100		(POS1), THE END POINT MUST BE ≥ THE POSITION OF THE LAST ITEM
14200		ON THE LINE.
     

00100	--------  SECTION V  ---------
00200	
00300	  'SCORE' ITEMS: NOTES-- 14, STAFF
00400	
00500		144 (INSTEAD OF 14)WILL READ EDIT FILE. SEE BELOW FOR FILE
00600		FORMAT.  THE PROGRAM WILL ASK FOR STAFF NUMBER AND FILE NAME.
00700	
00800	****** THERE ARE 2 INPUT MODES POSSIBLE.  THE 1ST DEALS SEPARATELY
00900		WITH PITCH AND RHYTHM PARAMETERS.  THE 2ND COMBINES THEM
01000		IN ONE INPUT LIST.  ALL THE EXAMPLES BELOW (UNTIL MODE 2
01100		IS MENTIONED) WILL REFER TO MODE 1.
01200			TO USE MODE 2 SET P3 TO + OR - 2.  e.g. 14 -3 2
01300	
01400	      ---- IF P3 IS NEG. (I.E. '14 2 -1' OR '144 0 -1'), STAFF 4 WILL
01500		   BE SET UP AUTOMATICALLY BY THE FIRST STAFF ENTERED.
01600		      --- SEE BELOW ABOUT THE USE OF STAFF 4. ---
01700	
01800	****  HOW TO USE "SCORE" ITEMS  ****
01900	
02000		 NOTES ARE TYPED IN ALMOST EXACTLY AS IN THE "SCORE" PROGRAM.
02100	  I.E. S=#, F=b, N=NATURAL (bb AND ## ARE NOT AVAILABLE YET.)
02200	  OCTAVE NUMBERS MUST BE USED.  'P' (FOR PROXIMITY MODE) MAY
02300	  BE USED.  'O' RETURNS TO ORDINARY MODE.
02400	 R=REST   RI=INVISIBLE REST  - BOTH OF THESE MUST BE GIVEN TIME VALUES
02500					UNDER 'RHYTHM'.
02600	
02700		  TREBLE CLEF IS ASSUMED.  TO ENTER A CLEF, TYPE CLEF NAME 
02800	  FOLLOWED BY A SLASH. (TR/  BA/  AL/  TEN/)   PRECEDED  THE  CLEF
02900	  NAME BY A MINUS SIGN (-BA/) TO HAVE THE AFFECT OF A CLEF WITHOUT
03000	  THE CLEF ACTUALLY APPEARING. (IF NO CLEF IS GIVEN IT WILL ALWAYS
03100	  BE TREBLE CLEF POSITION.)
03200	
03300	USE 'M' (FOR MEASURE) TO ENTER A BAR LINE.  'M2' WILL MAKE A  BAR  GO
03400	UP 2 STAVES; 'M3' WILL GO UP 3 STAVES, ETC.
03500	
03600	  METER (TIME SIGNATURE) MAY BE ENTERED WITH /Tn,m/ WHERE n,m ARE
03700	  THE TOP AND BOTTOM METER NUMBERS.
03800	
03900	  FOR KEY SIGS TYPE /Kna/ WHERE n=NUMBER OF ACCIDENTALS AND
04000			a='S' OR + FOR SHARPS, OR - OR 'F' FOR FLATS.
04100	
04200	  NO MORE THAN 72 CHARACTERS MAY APPEAR
04300	  ON ONE LINE OF INPUT. (BUT MORE THAN ONE LINE MAY BE USED.)
04400	  THE LINE MUST END WITH A SEMICOLON OR, WHEN NO MORE NOTES ARE
04500	  TO APPEAR, WITH '*'.
04600	
04700		THE MOTIVIC FEATURES OF "SCORE" MAY BE USED WITH INPUT
04800		MODE 1 (BUT WITH NO "NESTING").  MOTIVES ARE SAVED 
04900		WITH DISPLAY DATA AND CAN BE REUSED WHEN WORKING LATER.  
05000	  (NO MORE THAN 200 ITEMS CAN BE SAVED IN ANY  LIST OF MOTIVES.)
05100	
05200	  CHORDS ARE CONSTRUCTED BY USING THE COLON IN PLACE OF THE SLASH
05300	  BETWEEN NOTES.
05400	  THE COLON CAUSES THE NOTE TO OCCUPY THE SAME RHYTHMIC POSITION
05500	  AS THE FIRST NOTE TO APPEAR AFTER A COLON.  THE STEM DIRECTION IN
05600	  CHORDS WILL BE DETERMINED BY THE ORDER OF APPEARANCE OF THE NOTES.
05700	  IF THE FIRST NOTE IS THE LOWEST, THE STEM GOES UP; IF THE FIRST IS
05800	  THE HIGHEST, THE STEM GOES DOWN.  POSITIONING OF NOTES ON PROPER
05900	  SIDE OF STEM AND (IN MOST CASES) SPACING OF ACCIDENTALS AND DOTS
06000	  IS AUTOMATIC.
06100	   NOTE THAT SINCE ALL THE NOTES OF A CHORD USE ONLY ONE RHYTHM
06200	   ALL REPEAT FEATURES CONSIDER ALL NOTES OF A CHORD AS ONE 
06300	   ENTITY.   / C4 / D:F:A / REP 2 3/  WILL DRAW THE SEQUENCE 
06400	   C, D MINOR CHORD THREE TIMES.  / D:F:A X3/ DRAWS 3 CHORDS.
06500	   / D:F:A //// MAKES 4 CHORDS.
06600	
06700	
06800		ALL NON-RHYTHMIC ITEMS (CLEFS, ETC.) WILL BE IGNORED IN 
06900		REGARD TO THE 1ST NUMBER AFTER 'REP'.
07000		/ C4 / M / D:F:A / REP 2,3 / WILL CONSIDER THE 2 ITEMS
07100		TO BE 'C' AND THE D MINOR CHORD, BUT THE BAR LINE WILL
07200		BE INCLUDED IN THE REPEAT.  THUS THE PROGRAM WILL DRAW
07300		'C', BAR, D MINOR - THREE TIMES.
07400	
07500	  GRACE NOTES MAY BE USED -- SEE UNDER RHYTHM BELOW.
07600	
07700	    TO BY PASS AUTOMATIC STEM DIRECTIONS TYPE SU/ (STEM UP) OR
07800	SD/ (STEM DOWN).  ONCE EITHER OF THESE APPEARS ALL THE STEMS WILL
07900	GO IN THE INDICATED DIRECTION UNTIL A CHANGE IS GIVEN.
08000	
08100	   (INPUT MODE 1)
08200	   EX.  M/BASS/ K4F /T12 8 /C3/EF/E/ M /D X 3/EN2:GS:B/M*
08300	
08400	    A BAR LINE COMES FIRST, THEN BASS CLEF.
08500	    NEXT IS A 4 FLAT KEY SIGNATURE, FOLLOWED BY 12/8 TIME.
08600	    THE 3RD NOTE WILL BE AN 'E' WITH NO ACCIDENTAL.
08700	    A BAR LINE WILL PRECEED THE THREE Ds.
08800	    THE LAST 3 NOTES WILL BE AN E MAJOR CHORD.
08900	    ENDS WITH A BAR LINE.
09000		(In the example above the spaces on either side of the
09100		slashes are optional [to help proof reading].  The other
09200	    	spaces, i.e. in "12 8" and in "D X 3" are required.)
09300	
09400		AFTER THE LAST NOTE HAS BEEN ENTERED THE PROGRAM WILL 
09500	  ASK FOR 'POS1, POS2'.
09600	  THE NOTES WILL BE EVENLY SPACED BETWEEN THE 2 POSITIONS ENTERED.
09700	  (<CR>=0,200)  NEXT YOU WILL BE ASKED TO 'TYPE RHYTHM'.
09800	  '99' WILL BACK UP, '999' WILL ESCAPE FROM "SCORE" MODE.
09900	
10000	   A rhythmic duration must be given for each note, rest or 
10100	   chord previously entered. (Clefs, bar lines, etc. should
10200	   ignored.)
10300	
10400	FOLLOW THE SAME RULES AS IN "SCORE".  THE SINGLE DOTTED DUPLE RHYTHMS
10500	WILL AUTOMATICALLY PUT DOTS ON NOTES.  MORE COMPLEX RHYTHMS  MUST  BE
10600	DOTTED INDIVIDUALLY.  (THEY WILL BE CORRECTLY SPACED.)
10700	
10800	   4 16TH NOTES, A QUARTER, A DOTTED 8TH, 16TH, HALF,
10900	   3 TRIPLETS, AND A WHOLE NOTE FOLLOW:
11000	
11100		16////4/8./16/2/12///1*
11200	
11300		***** NOTE THAT CHORDS WITH WHOLE NOTE RHYTHM WILL APPEAR
11400		      WITH A STEM.  THE STEM IS NEEDED TO INSURE PROPER
11500		      PLACEMENT OF NOTES A SECOND APART.  YOU!! MUST
11600		      REMOVE SUCH STEMS AFTER THE LINE IS COMPLETE!! *****
11700	
11800		**** FOR GRACE NOTES, TYPE RHYTHMIC VALUE OF 88.
11900	
12000	******  INPUT MODE 2 ********  ONLY DIFFERENT FOR NOTES AND RHYTHMS
12100	
12200	   IN THIS CASE EACH NEW RHYTHMIC VALUE MUST BE ENTERED JUST BEFORE
12300	   THE NOTE (OR CHORD) TO WHICH IT WILL APPLY.  REPEAT FEATURES WILL
12400	   ACT IN THE NORMAL WAY.
12500	
12600		TR/4 C4/ D / 8 E/F// 16 G/ A/ 4//REP 4*
12700	   PRODUCES - TREBLE CLEF, QUARTER-C, QUARTER-D, EIGHTH-E,
12800	   2 TIMES 8TH-F, 16TH-G, 16TH-A, QUARTER-A, QUARTER-A, THE LAST 4
12900	   ITEMS (G A A A)REPEAT WITH THEIR GIVEN RHYTHMS.
13000		OF COURSE THERE WILL NOW BE NO PROMPT FOR RHYTHMS.
13100	
13200	
13300		THE NEXT REQUEST IS 'ADD MARKS?' TYPE 'Y', 'N',  99  OR  999.
13400	IF 'YES' GIVE NOTE NUMBERS AND MARK NAMES OR NUMBERS AS NEEDED.  WHEN
13500	COUNTING NOTES, IGNORE RESTS, CLEFS ETC.  CHORDS  COUNT  AS  1  NOTE.
13600	THE   NUMBER   FOR  THE  ACCENTS,  ETC.  ARE  4=∧(WEDGE),5=>(ACCENT),
13700	6=FERMATA,   7=DOT,   9=TENUTO(DASH),   11=DOWN   BOW,   12=UP   BOW,
13800	13=HARMONIC, 14=+, ETC.(SEE CODE 6.  UP TO 2 MARKS MAY BE ENTERED FOR
13900	EACH NOTE -- BUT EACH MARK MUST BE ENTERED SEPARATELY  WITH  ITS NOTE
14000	NUMBER.	 THE MARK NUMBERS ARE THE SAME AS THOSE FOR P5 WITH CODE# 6.)
14100	
14200		EXAMPLE:  1,5 / 6,5 / 7,9 / 10,7 / 10,9*
14300		  - OR - 1 ACC/6 ACC/7 TEN/10 STAC/10 TEN*
14400	
14500	     NEXT YOU WILL BE ASKED 'ADD BEAMS?'  TYPE 'Y', 'N' OR nB TO THIS.
14600		nB WILL PLACE BEAMS AUTOMATICALLY. (SEE BELOW)
14700	        '99' WILL BACK UP, '999' WILL ERASE INPUT AND 
14800	        LEAVE "SCORE" MODE.
14900	
15000	        'G' (FOR GO) (INSTEAD OF 'Y' OR 'N') WILL OMIT ALL FURTHER
15100	        PROMPTS IN THIS MODE.
15200	
15300	BEAMS WILL BE ENTERED AUTOMATICALLY  IF  YOU  TYPE  nB*  WHERE  n=THE
15400	NUMBER  OF  EIGHTH  NOTES  TO  BE  BEAMED TOGETHER.  2B* WILL BEAM BY
15500	QUARTERS (I.E. 2 8THS), 3B* GIVES STANDARD BEAMING  FOR  3/8  OR  6/8
15600	TIME.   DECIMAL NUMBERS MAY BE USED FOR N. THUS 1.5B* WOULD BEAM EACH
15700	GROUP OF 3 16THS.
15800	
15900	IF IRREGULAR BEAMS ARE NEEDED, GIVE THE NOTE NUMBERS  FOR  THE  FIRST
16000	AND LAST NOTES UNDER THE BEAMS.  IF THE SECOND NUMBER IS NEGATIVE THE
16100	STEMS FOR THE GROUP WILL GO DOWNWARD.
16200	WHEN COUNTING NOTES, IGNORE RESTS, CLEFS ETC.  CHORDS COUNT AS 
16300	ONE NOTE.
16400	
16500		IF YOU HAVE 4 16TH NOTES (STEMS UP) FOLLOWED BY 2 QUARTERS
16600	 AND  3 8THS (STEMS DOWN) TYPE:
16700	
16800		1,4 / 5, -7 *
16900	
17000	  SOME PARTIAL BEAMS MAY HAVE TO BE ADDED INDIVIDUALLY AS YET.
17100	
17200	      ****** AUTOMATIC BEAMS ****** IN MOST SIMPLE SITUATIONS ALL THE
17300	      BEAMS MAY BE PLACED AUTOMATICALLY BY SIMPLY TYPING "2B*". (OR
17400	      "3B*")   2B* WILL CAUSE ALL LOGICAL BEAM CONNECTIONS TO BE MADE
17500	      IN TERMS OF DUPLE RHYTHM.  USE 3B* FOR TRIPLE RHYTHMS SUCH AS
17600	      3/8, 6/8, 9/8, ETC.  THE BASIC UNIT FOR 2B* IS THE QUARTER NOTE
17700	      AND THE BASIC UNIT FOR 3B* IS THE DOTTED QUARTER.
17800	
17900	
18000	    LASTLY YOU WILL BE ASKED 'ADD SLURS?'  
18100	    TYPE 'Y' OR 'N'. TO THIS.
18200	
18300	IF SLURS ARE ADDED, THE ORDER NUMBERS OF THE NOTES AT  THE  BEGINNING
18400	AND  END OF THE SLUR MUST BE GIVEN.  IF THE SECOND NUMBER IS NEGATIVE
18500	THE 'DIP' WILL BE DOWNWARD AND THE STEMS WILL GO UP.  VICE-VERSA  FOR
18600	A  POSITIVE  SECOND  NUMBER.   IF YOU HAVE USED THE 'B' FEATURE ABOVE
18700	(AUTOMATIC BEAMS) THEN THE NEGATIVE AND POSITIVE DIPS  WILL  ALSO  BE
18800	AUTOMATIC - HENCE NO NEED TO USE ANY NEGATIVE NUMBERS AT THIS POINT.
18900	
19000		THE AMOUNT OF CURVE WILL DEPEND ON THE CONFIGURATION  OF  THE
19100	NOTES  BETWEEN  THE END POINTS.  IN EXTREME SITUATIONS IT IS PROBABLE
19200	THAT THE RESULT OF THIS AUTOMATIC PROCEDURE WILL HAVE TO BE EDITED.
19300	
19400		A TYPICAL EXAMPLE OF INPUT:   2,-3/ 2,-7/ 8,11*
19500	
19600			THIS WILL PUT SLURS FROM 2ND TO 3RD NOTE, 2ND TO 7TH
19700			AND 8TH TO 11TH.
19800	
19900	TO  SLUR  INTO THE 1ST NOTE, TYPE -1,1/ OR -1, -1/.  TO SLUR OUT FROM
20000	THE LAST NOTE, TYPE N,99* OR N,-99* WHERE N=NUMBER OF LAST NOTE.
20100	
20200		THE 'SLUR' SECTION MAY ALSO BE USED TO INVERT ANY STEMS  FROM
20300	THEIR  NATURAL  DIRECTIONS  OR FROM THE DIRECTIONS TO WHICH THEY HAVE
20400	BEEN TURNED BY THE 'DIP' OF THE ENTERED SLURS.  TO DO THIS SIMPLY ADD
20500	100  TO  THE FIRST NOTE NUMBER OF A PAIR.  IF 2ND NUMBER IS PLUS, THE
20600	STEMS GO UP; IF 2ND NUMBER IS NEGATIVE, STEMS  GO  DOWN.   THIS  WILL
20700	ONLY  INVERT  THE  STEMS  OF  THE NOTES INVOLVED; ANY SLURS INVOLVING
20800	THESE NOTES SHOULD BE ENTERED WITH PAIRS OF NUMBERS PREVIOUS  TO  THE
20900	PAIRS WHICH WILL INVERT THE STEMS.
21000	  ***** NOTE THAT TIES BETWEEN THE INNER NOTES OF TWO CHORDS CANNOT
21100		BE DONE AUTOMATICALLY AS YET.
21200	
21300	
21400	∞∞∞∞∞ FOR 'BEAMS', 'MARKS' AND 'SLURS' A 2ND LINE OF INPUT MAY BE
21500		GIVEN IF THE 1ST LINE ENDS WITH ';' INSTEAD OF '*'.
21600	
21700		ALL ITEMS ENTERED UNDER '14' MAY BE EDITED LATER AS IF THEY
21800	  WERE ENTERED INDIVIDUALLY.
21900	
22000	FOR CODE # 144:  FOLLOWING IS THE FILE FORMAT FOR "SCORE" INPUT FROM
22100	   AN EXTERNALLY EDITED FILE.  THE NAME OF THE FILE CAN HAVE NO MORE
22200	   THAN FIVE LETTERS.
22300	
22400		00100   (NOTES) . . . *
22500		00200   (RHYTHM) . . . *
22600		00300   (ACCENTS) . . *  BLANK LINE = NO MARKS
22700		00400   (BEAMS) . . * A BLANK LINE = NO BEAMS
22800		00500   (SLURS) . . *  BLANK LINE = NO SLURS
22900	
23000		(2ND LINES MAY BE ADDED WITH ALL ITEMS EXCEPT RHYTHM.)
23100	
23200	    THIS SEQUENCE MAY BE REPEATED SEVERAL TIMES.  THE PROGRAM WILL
23300	    ASK FOR EACH OF THE STAFF NUMBERS.
23400	
23500	
23600	****  SUMMARY OF SCORE CODES ****
23700	
23800	NOTES 		A-G
23900	ACCIDENTALS	F-S-N
24000	REST		R, RI FOR INVISIBLE REST
24100	CLEFS		TR-BA-AL-TE    -TR, -BA, ETC. =INVISIBLE CLEF
24200	BAR, MEASURE	M
24300	KEY SIG.	KnS OR KnF
24400	METER, TIME SIG.	Tn,m
24500	STEM DIRECTION	SU-SD
24600	iXn		REPEAT ITEM i A TOTAL OF n TIMES.
24700	REP n,m		REPEAT LAST n ITEMS A TOTAL OF m TIMES.
24800	ACCENT		A
24900	WEDGE		W
25000	TENUTO		T
25100	STACCATO	S
25200	HARMONIC	H
25300	FERMATA		F
25400	DOWN BOW	D
25500	UP BOW		U
25600	+		P
25700	THESIS		15		
25800	ARSIS		16
25900	MORDANT		17
26000	INV. MORD.	18
26100	TRILL		20
     

00100	---------  SECTION VI  -----------
00200	
00300	********* TO SET UP AUTOMATIC IRREGULAR RHYTHMIC SPACING *******
00400			  --- STAFF 4 ---
00500	
00600		ANY  NOTES WHICH APPEAR ON STAFF 4 WILL CAUSE ALL ITEMS LATER
00700	ENTERED WITH '14' OR '144' TO BE  SPACED  ACCORDING  TO  THE  SPACING
00800	GIVEN  ON  STAFF 4.  FOR STAFF 4 DO NOT USE ANY RESTS AND RHYTHMS MAY
00900	NOT BE INDICATED BY HORIZANTAL BEAMS.   SINGLY DOTTED  NOTES  MAY  BE
01000	USED BUT ONLY DUPLE DIVISIONS ARE TO BE USED.
01100		(I.E. NO TRIPLETS OR DOUBLE DOTS, ETC.  NOTE HOWEVER THAT
01200		 ANY! RHYTHMIC UNITS MAY BE USED IF THEY ARE PUT ON STAFF 4
01300		 BY THE AUTOMATIC PROCEDURE WHEREIN YOU TYPE EITHER 14 STFn -1
01400		 OR 144 0 -1 (OR -2).  IF STAFF 4 IS BLANK, SETTING P3 
01500		 NEGATIVE WILL CAUSE A DUPLICATE OF THE FIRST LINE YOU
01600		 ENTER TO APPEAR ON STAFF 4.  IT WILL BE SPACED ACCORDING
01700		 TO THE RHYTHM AND WHATEVER ADJUSTMENTS ARE NEEDED FOR
01800		 CLEFS, ETC.  ALL FURTHER LINES ENTERED WILL CONFORM TO
01900		 THIS SPACING UNLESS STAFF 4 IS	 DELETED.)
02000	
02100	  BE SURE TO ACCOUNT FOR ALL BAR LINES, CLEFS, METERS, ETC.
02200	
02300	AFTER ALL OTHER NOTES ARE PLACED TO SATISFACTION ERASE ALL OF STAFF 4
02400	WITH 'DELETE'.
02500	
02600	IN GENERAL, IT IS PROBABLY BETTER TO USE MANY SMALL VALUES ON 
02700	STAFF 4.  THIS WAY IT IS EASIER TO MAKE MANY DELICATE ADJUSTMENTS.
02800	
02900	*******   MSSAUX  ********
03000	
03100		THIS IS A PROGRAM TO EXTRACT PARTS  FROM  PREVIOUSLY  CREATED
03200	SCORES OR TO PACK SEVERAL MSS.DAT FILES INTO ONE FOR EASIER STORAGE.
03300		THE PROGRAM WILL ASK "PARTS, PACK OR  UNPACK?"  A  FULL  WORD
03400	MUST  BE  GIVEN  IN  REPLY.  WHEN ASKED FOR OUTPUT FILE NAMES BE SURE
03500	THAT ANY NAME GIVEN IS NOT!! ALREADY IN USE.
03600	
03700	---- PARTS ----
03800	
03900		WHEN  ASKED "TYPE TOP STAFF #", GIVE THE HIGHEST STAFF NUMBER
04000	YOU WANT USED FOR THIS SECTION OF THE PART INVOLVED.  IF YOU TYPE "2"
04100	THE LINES 2, 1, 0, ETC. WILL BE USED UNTIL BUFFER SPACE IS EXHAUSTED.
04200	
04300		WHEN  REPLYING  TO "READ WHICH STAFF #?" THREE NUMBERS MAY BE
04400	TYPED.  THE FIRST WILL BE THE STAFF NUMBER OF  THAT  SECTION  OF  THE
04500	ORIGINAL  SCORE TO BE READ, THE SECOND WILL BE A TRANSPOSITION NUMBER
04600	(BY NOTE STEPS -- NOT! 1/2 STEPS) AND IF THE THIRD NUMBER IS  GREATER
04700	THAN  ZERO  THIS QUESTION WILL NOT BE ASKED AGAIN AS SUCCESSIVE FILES
04800	ARE READ IN.
04900	
05000	THE  MESSAGE  "NO  ROOM  FOR THIS ONE" MEANS THE BUFFER DOES NOT HAVE
05100	ROOM LEFT  FOR  ANOTHER  COMPLETE  LINE.   THIS  LAST  LINE  WILL  BE
05200	COMPLETELY IGNORED.  THEN YOU MUST START ANOTHER FILE.
05300	
05400	TRANSPOSITIONS FOR "Bb" INSTRUMENTS  AND  FOR  "F"  INSTRUMENTS  WILL
05500	AUTOMATICALLY FIX MOST OF THE NEEDED CHANGES IN ACCIDENTALS.  HOWEVER
05600	THERE ARE MANY CASES WHERE WRONG RESULTS MIGHT OCCUR  (SUCH  AS  WITH
05700	NOTES  TIED  OVER  BAR  LINES,  ETC.)  SO  CAREFUL  PROOF  READING IS
05800	ESSENTIAL.
05900	
06000	---- PACK AND UNPACK ----    FOLLOW THE PROMPTS.
     

00100	INDEX TO SUBROUTINES:
00200	
00300	    FILE NAME:
00400		MSS
00500		NOTWRT	NOTWRT
00600	
00700		ITMSUB	ITMSUB
00800			BMS
00900			METER
01000			RNOTE
01100			MAKNUM
01200			IABS
01300			DRWNT
01400			RHORZ
01500			RDRAW
01600	
01700		PLTSRT	SLUR
01800			JUGGLE
01900			LOOP
02000			PLTSRT
02100			BOX
02200			LINES
02300			HOMER
02400			PLACE
02500			FINDIT
02600			SCL
02700	
02800		MOVER	MOVER
02900			RTLINE
03000			EXTEN
03100			MVBEAM
03200			CLEFS
03300			MVBX
03400	
03500		GRED	VLINE
03600			ASKIT
03700			GRED
03800			LPEN
03900			DELETE
04000			DPYNEW
04100			PLTCMD
04200			SAVIT
04300			LISTP
04400			FIXUP
04500	
04600		TREST	ALPHA
04700			TAIL
04800			REST
04900			ROFF
05000			UNPACK
05100			BREP
05200			FERMTA
05300			SORT2
05400			NOZERO
05500			PNUM
05600			SPACER
05700			NOIR
05800			KSIG
05900			RJBX
06000			CENTX
06100			JDRAW
06200	
06300		WORDS 	WORDS
06400			TYPE
06500			SETLET
06600			NEWR
06700	
06800		SCANR	SCANR
06900			NALF
07000			EDIT
07100			PRESCN
07200	
07300		SCMSS	
07400	
07500		RHYTH	RHYTH
07600			SETUP
07700			MARKS
07800			DOTS
07900	
08000		NOTBMS	NOTES
08100			BMX
08200	
08300		BEAMS	BEAMS
08400			XNOTE
08500	
08600		FILLER	FILLER
08700			HGHT
08800			MISS
08900			HALF
09000	
09100		FILLMS	FILLMS
09200			ROTATE
     

00100	***** PRNTX.DO ******   (PREPARES FILE FOR 'PLOTIT.F4')
00200	LOA MP←/DUMP MPRNT,NOTWRT,ITMSUB,FILLER,MSFAIL,PPSRT,TREST,PLTIT↔
00300	
00400	
00500	***** PRNTC.DO ******   (GOES DIRECTLY TO CALCOMP)
00600	LOA MC←/DUMP MPRNT,NOTWRT,ITMSUB,FILLER,MSFAIL,PPSRT,TREST,PLTC↔
00700	
00800	XXXXXX DOMS.DO XXXXXX(TO GET NECESSARY BASIC DATA READ IN BEFORE DUMP.)
00900	LOA MM←/DUMP @DDTMSS[1,LCS]↔AL Y↔S↔G↔INIT↔βAL↔SA MM↔
01000	
01100	
01200	********  ZZ.DO  ******
01300	LOA @ZZ↔βSA MM↔
01400	
01500	********* ZZ.CMD  ********
01600	%D MSS,MOVER,GRED,NOTWRT,ITMSUB,WORDS
01700	,TREST,SCMSS,SCANR,MSFAIL,PLTSRT
01800	,NOTBMS,BEAMS,RHYTH,FILLMS,FILLER,CURSOR.REL[MSS,LCS]